// class Content {
//   constructor(value) {
//     this._value = value;
//   }

//   map(fn) {
//     return new Content(fn(this._value));
//   }
// }

// const r = new Content(5)
//   .map(n => n + 1)
//   .map(n => n * n)
//   ._value;

// console.log(r, 'r');

// 尝试定义一个静态方法
class Content {
  static in(value) {
    return new Content(value);
  }

  constructor(value) {
    this._value = value;
  }

  map(fn) {
    return Content.in(fn(this._value));
  }
}

const r = Content.in(5)
  .map(n => n + 1)
  .map(n => n * n)
  ._value;

console.log(r, 'r');
